<!DOCTYPE HTML>

<html xmlns:th="http://www.thymeleaf.org">

<head>
    <title>Handling Form Submission</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>

<body>
<center>
    <br><br>
    <h2 style="color:green">Result</h2>
    <br><br>

    <ul class="list-group" style="width:300px">
<!--        <li class="list-group-item" th:text="'reportNumber: ' + ${user.reportNumber}"></li>-->
        <li class="list-group-item" th:text="'testType: ' + ${user.testType}"></li>
        <li class="list-group-item" th:text="'applyDate: ' + ${user.applyDate}"></li>
        <li class="list-group-item" th:text="'nameOfEntrustingParty: ' + ${user.nameOfEntrustingParty}"></li>
        <li class="list-group-item" th:text="'contacts: ' + ${user.contacts}"></li>
        <li class="list-group-item" th:text="'telephone: ' + ${user.telephone}"></li>
        <li class="list-group-item" th:text="'mailbox: ' + ${user.mailbox}"></li>
        <li class="list-group-item" th:text="'systemName: ' + ${user.systemName}"></li>
        <li class="list-group-item" th:text="'versionNumber: ' + ${user.versionNumber}"></li>
        <li class="list-group-item" th:text="'developmentTool: ' + ${user.developmentTool}"></li>
        <li class="list-group-item" th:text="'systemCharacteristics: ' + ${user.systemCharacteristics}"></li>
        <li class="list-group-item" th:text="'mainFunctionalModules: ' + ${user.mainFunctionalModules}"></li>
    </ul>

    <h4>
        <span class="glyphicon glyphicon-saved"></span>
        您输入的数据已经存入数据库
    </h4>

    <a href="/greeting"><button type="button" class="btn btn-primary">Return to home</button></a>
    <a href="/all"><button type="button" class="btn btn-warning">See Records</button></a>
</center>
<div id="page_end_html">


    <!-- 鼠标点击特效 -->

    <script>
        class Circle {
            constructor({ origin, speed, color, angle, context }) {
                this.origin = origin
                this.position = { ...this.origin }
                this.color = color
                this.speed = speed
                this.angle = angle
                this.context = context
                this.renderCount = 0
            }

            draw() {
                this.context.fillStyle = this.color
                this.context.beginPath()
                this.context.arc(this.position.x, this.position.y, 2, 0, Math.PI * 2)
                this.context.fill()
            }

            move() {
                this.position.x = (Math.sin(this.angle) * this.speed) + this.position.x
                this.position.y = (Math.cos(this.angle) * this.speed) + this.position.y + (this.renderCount * 0.3)
                this.renderCount++
            }
        }

        class Boom {
            constructor ({ origin, context, circleCount = 10, area }) {
                this.origin = origin
                this.context = context
                this.circleCount = circleCount
                this.area = area
                this.stop = false
                this.circles = []
            }

            randomArray(range) {
                const length = range.length
                const randomIndex = Math.floor(length * Math.random())
                return range[randomIndex]
            }

            randomColor() {
                const range = ['8', '9', 'A', 'B', 'C', 'D', 'E', 'F']
                return '#' + this.randomArray(range) + this.randomArray(range) + this.randomArray(range) + this.randomArray(range) + this.randomArray(range) + this.randomArray(range)
            }

            randomRange(start, end) {
                return (end - start) * Math.random() + start
            }

            init() {
                for(let i = 0; i < this.circleCount; i++) {
                    const circle = new Circle({
                        context: this.context,
                        origin: this.origin,
                        color: this.randomColor(),
                        angle: this.randomRange(Math.PI - 1, Math.PI + 1),
                        speed: this.randomRange(1, 6)
                    })
                    this.circles.push(circle)
                }
            }

            move() {
                this.circles.forEach((circle, index) => {
                    if (circle.position.x > this.area.width || circle.position.y > this.area.height) {
                        return this.circles.splice(index, 1)
                    }
                    circle.move()
                })
                if (this.circles.length == 0) {
                    this.stop = true
                }
            }

            draw() {
                this.circles.forEach(circle => circle.draw())
            }
        }

        class CursorSpecialEffects {
            constructor() {
                this.computerCanvas = document.createElement('canvas')
                this.renderCanvas = document.createElement('canvas')

                this.computerContext = this.computerCanvas.getContext('2d')
                this.renderContext = this.renderCanvas.getContext('2d')

                this.globalWidth = window.innerWidth
                this.globalHeight = window.innerHeight

                this.booms = []
                this.running = false
            }

            handleMouseDown(e) {
                const boom = new Boom({
                    origin: { x: e.clientX, y: e.clientY },
                    context: this.computerContext,
                    area: {
                        width: this.globalWidth,
                        height: this.globalHeight
                    }
                })
                boom.init()
                this.booms.push(boom)
                this.running || this.run()
            }

            handlePageHide() {
                this.booms = []
                this.running = false
            }

            init() {
                const style = this.renderCanvas.style
                style.position = 'fixed'
                style.top = style.left = 0
                style.zIndex = '999999999999999999999999999999999999999999'
                style.pointerEvents = 'none'

                style.width = this.renderCanvas.width = this.computerCanvas.width = this.globalWidth
                style.height = this.renderCanvas.height = this.computerCanvas.height = this.globalHeight

                document.body.append(this.renderCanvas)

                window.addEventListener('mousedown', this.handleMouseDown.bind(this))
                window.addEventListener('pagehide', this.handlePageHide.bind(this))
            }

            run() {
                this.running = true
                if (this.booms.length == 0) {
                    return this.running = false
                }

                requestAnimationFrame(this.run.bind(this))

                this.computerContext.clearRect(0, 0, this.globalWidth, this.globalHeight)
                this.renderContext.clearRect(0, 0, this.globalWidth, this.globalHeight)

                this.booms.forEach((boom, index) => {
                    if (boom.stop) {
                        return this.booms.splice(index, 1)
                    }
                    boom.move()
                    boom.draw()
                })
                this.renderContext.drawImage(this.computerCanvas, 0, 0, this.globalWidth, this.globalHeight)
            }
        }

        const cursorSpecialEffects = new CursorSpecialEffects()
        cursorSpecialEffects.init()
    </script>


    <!-- 鼠标点击特效end -->

    <!-- 下雪特效begin -->
    <div class="Snow">
        <canvas id="Snow" width="983" height="644"></canvas>
    </div>
    <script>
        (function() {
            var requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame ||
                function(callback) {
                    window.setTimeout(callback, 1000 / 60);
                };
            window.requestAnimationFrame = requestAnimationFrame;
        })();

        (function() {
            var flakes = [],
                canvas = document.getElementById("Snow"),
                ctx = canvas.getContext("2d"),
                flakeCount = 100,
                mX = -100,
                mY = -100;

            canvas.width = window.innerWidth;
            canvas.height = window.innerHeight;

            function snow() {
                ctx.clearRect(0, 0, canvas.width, canvas.height);

                for (var i = 0; i < flakeCount; i++) {
                    var flake = flakes[i],
                        x = mX,
                        y = mY,
                        minDist = 100,
                        x2 = flake.x,
                        y2 = flake.y;

                    var dist = Math.sqrt((x2 - x) * (x2 - x) + (y2 - y) * (y2 - y)),
                        dx = x2 - x,
                        dy = y2 - y;

                    if (dist < minDist) {
                        var force = minDist / (dist * dist),
                            xcomp = (x - x2) / dist,
                            ycomp = (y - y2) / dist,
                            deltaV = force / 2;

                        flake.velX -= deltaV * xcomp;
                        flake.velY -= deltaV * ycomp;

                    } else {
                        flake.velX *= .98;
                        if (flake.velY <= flake.speed) {
                            flake.velY = flake.speed
                        }
                        flake.velX += Math.cos(flake.step += .05) * flake.stepSize;
                    }

                    ctx.fillStyle = "rgba(255,255,255," + flake.opacity + ")";
                    flake.y += flake.velY;
                    flake.x += flake.velX;

                    if (flake.y >= canvas.height || flake.y <= 0) {
                        reset(flake);
                    }

                    if (flake.x >= canvas.width || flake.x <= 0) {
                        reset(flake);
                    }

                    ctx.beginPath();
                    ctx.arc(flake.x, flake.y, flake.size, 0, Math.PI * 2);
                    ctx.fill();
                }
                requestAnimationFrame(snow);
            };

            function reset(flake) {
                flake.x = Math.floor(Math.random() * canvas.width);
                flake.y = 0;
                flake.size = (Math.random() * 3) + 2;
                flake.speed = (Math.random() * 1) + 0.5;
                flake.velY = flake.speed;
                flake.velX = 0;
                flake.opacity = (Math.random() * 0.5) + 0.3;
            }

            function init() {
                for (var i = 0; i < flakeCount; i++) {
                    var x = Math.floor(Math.random() * canvas.width),
                        y = Math.floor(Math.random() * canvas.height),
                        size = (Math.random() * 3) + 2,
                        speed = (Math.random() * 1) + 0.8,
                        opacity = (Math.random() * 0.5) + 0.3;

                    flakes.push({
                        speed: speed,
                        velY: speed,
                        velX: 0,
                        x: x,
                        y: y,
                        size: size,
                        stepSize: (Math.random()) / 30 *0.9,
                        step: 0,
                        angle: 180,
                        opacity: opacity
                    });
                }

                snow();
            };

            document.addEventListener("mousemove", function(e) {
                mX = e.clientX,
                    mY = e.clientY
            });
            window.addEventListener("resize", function() {
                canvas.width = window.innerWidth;
                canvas.height = window.innerHeight;
            });
            init();
        })();
    </script>
    <!-- 下雪特效end -->

    <!--动态线条背景-->
    <script type="text/javascript" color="220,220,220" opacity="0.7" zindex="-2" count="200">
        !function(){function o(w,v,i){return w.getAttribute(v)||i}function j(i){return document.getElementsByTagName(i)}function l(){var i=j("script"),w=i.length,v=i[w-1];return{l:w,z:o(v,"zIndex",-1),o:o(v,"opacity",0.5),c:o(v,"color","0,0,0"),n:o(v,"count",99)}}function k(){r=u.width=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,n=u.height=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight}function b(){e.clearRect(0,0,r,n);var w=[f].concat(t);var x,v,A,B,z,y;t.forEach(function(i){i.x+=i.xa,i.y+=i.ya,i.xa*=i.x>r||i.x<0?-1:1,i.ya*=i.y>n||i.y<0?-1:1,e.fillRect(i.x-0.5,i.y-0.5,1,1);for(v=0;v<w.length;v++){x=w[v];if(i!==x&&null!==x.x&&null!==x.y){B=i.x-x.x,z=i.y-x.y,y=B*B+z*z;y<x.max&&(x===f&&y>=x.max/2&&(i.x-=0.03*B,i.y-=0.03*z),A=(x.max-y)/x.max,e.beginPath(),e.lineWidth=A/2,e.strokeStyle="rgba("+s.c+","+(A+0.2)+")",e.moveTo(i.x,i.y),e.lineTo(x.x,x.y),e.stroke())}}w.splice(w.indexOf(i),1)}),m(b)}var u=document.createElement("canvas"),s=l(),c="c_n"+s.l,e=u.getContext("2d"),r,n,m=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(i){window.setTimeout(i,1000/45)},a=Math.random,f={x:null,y:null,max:20000};u.id=c;u.style.cssText="position:fixed;top:0;left:0;z-index:"+s.z+";opacity:"+s.o;j("body")[0].appendChild(u);k(),window.onresize=k;window.onmousemove=function(i){i=i||window.event,f.x=i.clientX,f.y=i.clientY},window.onmouseout=function(){f.x=null,f.y=null};for(var t=[],p=0;s.n>p;p++){var h=a()*r,g=a()*n,q=2*a()-1,d=2*a()-1;t.push({x:h,y:g,xa:q,ya:d,max:6000})}setTimeout(function(){b()},100)}();
    </script>

    <!-- 彩色滚动变换字体begin -->
    <script>
        window.onload  = function () {
            var r=document.getElementById('binft');
            function t() {
                return b[Math.floor(Math.random() * b.length)]
            }
            function e() {
                return String.fromCharCode(94 * Math.random() + 33)
            }
            function n(r) {
                for (var n = document.createDocumentFragment(), i = 0; r > i; i++) {
                    var l = document.createElement("span");
                    l.textContent = e(), l.style.color = t(), n.appendChild(l)
                }
                return n
            }
            function i() {
                var t = o[c.skillI];
                c.step ? c.step-- : (c.step = g, c.prefixP < l.length ? (c.prefixP >= 0 && (c.text += l[c.prefixP]), c.prefixP++) : "forward" === c.direction ? c.skillP < t.length ? (c.text += t[c.skillP], c.skillP++) : c.delay ? c.delay-- : (c.direction = "backward", c.delay = a) : c.skillP > 0 ? (c.text = c.text.slice(0, -1), c.skillP--) : (c.skillI = (c.skillI + 1) % o.length, c.direction = "forward")), r.textContent = c.text, r.appendChild(n(c.prefixP < l.length ? Math.min(s, s + c.prefixP) : Math.min(s, t.length - c.skillP))), setTimeout(i, d)
            }
            var l = "",
                o = ["(๑′ᴗ‵๑)Ｉ Lᵒᵛᵉᵧₒᵤ❤ ","海上月是天上月，眼前人是心上人。","倚楼听风雨，淡看江湖路。", "人生天地间，忽如远行客。","花间一壶酒，独酌无相亲。", "举杯邀明月，对影成三人。","山有木兮木有枝，心悦君兮君不知。"].map(function (r) {
                    return r + ""
                }),
                a = 2,
                g = 1,
                s = 5,
                d = 75,
                b = ["rgb(110,64,170)", "rgb(150,61,179)", "rgb(191,60,175)", "rgb(228,65,157)", "rgb(254,75,131)", "rgb(255,94,99)", "rgb(255,120,71)", "rgb(251,150,51)", "rgb(226,183,47)", "rgb(198,214,60)", "rgb(175,240,91)", "rgb(127,246,88)", "rgb(82,246,103)", "rgb(48,239,130)", "rgb(29,223,163)", "rgb(26,199,194)", "rgb(35,171,216)", "rgb(54,140,225)", "rgb(76,110,219)", "rgb(96,84,200)"],
                c = {
                    text: "",
                    prefixP: -s,
                    skillI: 0,
                    skillP: 0,
                    direction: "forward",
                    delay: a,
                    step: g
                };
            i()
        };

        <!-- 彩色滚动变换字体end -->
    </script>

    <!-- 鼠标移动特效begin -->
    <canvas id="shuicheCanvas" style="position: fixed; left: 0px; top: 0px; z-index: 2147483647;pointer-events:none;" width="983" height="644"></canvas>
    <script>"use strict";var _createClass=function(){function n(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(t,e,i){return e&&n(t.prototype,e),i&&n(t,i),t}}();function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}!function(P){P.extend({shuicheMouse:function(t){(new e).init(t)}});var e=(_createClass(t,[{key:"init",value:function(t){!function(){for(var a=0,t=["webkit","moz"],e=0;e<t.length&&!window.requestAnimationFrame;++e)window.requestAnimationFrame=window[t[e]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[t[e]+"CancelAnimationFrame"]||window[t[e]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t,e){var i=(new Date).getTime(),n=Math.max(0,16.7-(i-a)),o=window.setTimeout(function(){t(i+n)},n);return a=i+n,o}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)})}(),t&&P.extend(!0,this.defaluts,t);var e=P("<canvas id='shuicheCanvas' style='position: fixed; left: 0px; top: 0px; z-index: 2147483647;pointer-events:none;'></canvas>");P("body").append(e);var i=this.defaluts.type;1<=i&&i<11&&this.mouseType1(this.defaluts.type,this.defaluts.color),11==i&&this.mouseType2(),12==i&&this.mouseType3()}},{key:"mouseType1",value:function(t,e){var n,o,a,h,i=document.getElementById("shuicheCanvas"),s=i.getContext("2d"),r=P("#shuicheCanvas"),l=[],c={n:100,c:222,bc:"#fff",r:.9,o:.05,a:1,s:20},d=0,f=0,u=0,y=0,w=0,p=0,v=0;g();var m,x=360*Math.random();m=e||"hsl("+x+",100%,80%)",P(window).resize(function(){g()});var M=t;function g(){n=window.innerWidth,o=window.innerHeight,i.width=n,i.height=o,a=n/2,h=o/2}P(window).mousemove(function(t){a=t.pageX-r.offset().left,h=t.pageY-r.offset().top,4==M&&(Math.random()<=.5?(d=Math.random()<=.5?-10:n+10,f=Math.random()*o):(f=Math.random()<=.5?-10:o+10,d=Math.random()*n),u=8*(Math.random()-.5),y=8*(Math.random()-.5)),1==M||2==M||3==M?l.push({x:a,y:h,r:c.r,o:1,v:0}):4==M?l.push({x:a,y:h,r:c.r,o:1,v:0,wx:d,wy:f,vx2:u,vy2:y}):6==M&&l.push({x:a+30*(Math.random()-.5),y:h+30*(Math.random()-.5),o:1,wx:a,wy:h})}),function t(){if(1==M){s.clearRect(0,0,n,o);for(var e=0;e<l.length;e++)s.globalAlpha=l[e].o,s.fillStyle=m,s.beginPath(),s.arc(l[e].x,l[e].y,l[e].r,0,2*Math.PI),s.closePath(),s.fill(),l[e].r+=c.r,l[e].o-=c.o,l[e].o<=0&&(l.splice(e,1),e--)}else if(2==M)for(s.clearRect(0,0,n,o),e=0;e<l.length;e++)s.globalAlpha=l[e].o,s.fillStyle=m,s.beginPath(),l[e].r=10,s.shadowBlur=20,s.shadowColor=m,s.arc(l[e].x,l[e].y,l[e].r,0,2*Math.PI),s.closePath(),s.fill(),s.shadowBlur=0,l[e].o-=c.o,l[e].v+=c.a,l[e].y+=l[e].v,(l[e].y>=o+l[e].r||l[e].o<=0)&&(l.splice(e,1),e--);else if(3==M)for(w+=5,s.clearRect(0,0,n,o),e=0;e<l.length;e++)s.globalAlpha=l[e].o,s.fillStyle=m,s.beginPath(),s.shadowBlur=20,s.shadowColor=m,l[e].r=20*(1-l[e].y/o),s.arc(l[e].x,l[e].y,l[e].r,0,2*Math.PI),s.closePath(),s.fill(),s.shadowBlur=0,l[e].o=l[e].y/o,l[e].v+=c.a,l[e].y-=c.s,l[e].x+=10*Math.cos((l[e].y+w)/100),(l[e].y<=0-l[e].r||l[e].o<=0)&&(l.splice(e,1),e--);else if(4==M)for(s.clearRect(0,0,n,o),e=0;e<l.length;e++)s.globalAlpha=l[e].o,s.fillStyle=m,s.beginPath(),s.shadowBlur=20,s.shadowColor=m,l[e].vx2+=(a-l[e].wx)/1e3,l[e].vy2+=(h-l[e].wy)/1e3,l[e].wx+=l[e].vx2,l[e].wy+=l[e].vy2,l[e].o-=c.o/2,l[e].r=10,s.arc(l[e].wx,l[e].wy,l[e].r,0,2*Math.PI),s.closePath(),s.fill(),s.shadowBlur=0,l[e].o<=0&&(l.splice(e,1),e--);else if(5==M)c.c||(m="hsl("+(x+=.1)+",100%,80%)"),s.clearRect(0,0,n,o),p+=10,s.globalAlpha=1,s.fillStyle=m,s.shadowBlur=20,s.shadowColor=m,s.beginPath(),s.arc(a+50*Math.cos(p*Math.PI/180),h+50*Math.sin(p*Math.PI/180),10,0,2*Math.PI),s.closePath(),s.fill(),s.beginPath(),s.arc(a+50*Math.cos((p+180)*Math.PI/180),h+50*Math.sin((p+180)*Math.PI/180),10,0,2*Math.PI),s.closePath(),s.fill(),s.beginPath(),s.arc(a+50*Math.cos((p+90)*Math.PI/180),h+50*Math.sin((p+90)*Math.PI/180),10,0,2*Math.PI),s.closePath(),s.fill(),s.beginPath(),s.arc(a+50*Math.cos((p+270)*Math.PI/180),h+50*Math.sin((p+270)*Math.PI/180),10,0,2*Math.PI),s.closePath(),s.fill(),s.shadowBlur=0;else if(6==M)for(s.clearRect(0,0,n,o),e=0;e<l.length;e++)s.globalAlpha=l[e].o,s.strokeStyle=m,s.beginPath(),s.lineWidth=2,s.moveTo(l[e].x,l[e].y),s.lineTo((l[e].wx+l[e].x)/2+20*Math.random(),(l[e].wy+l[e].y)/2+20*Math.random()),s.lineTo(l[e].wx,l[e].wy),s.closePath(),s.stroke(),l[e].o-=c.o,l[e].o<=0&&(l.splice(e,1),e--);else if(7==M)for(s.clearRect(0,0,n,o),l.length<2*c.n&&(v=2*Math.random()*Math.PI,l.push({x:a+100*(Math.random()-.5)*Math.cos(v),y:h+100*(Math.random()-.5)*Math.cos(v),o:1,h:v})),e=0;e<l.length;e++)s.globalAlpha=l[e].o,s.fillStyle=m,s.beginPath(),l[e].x+=(a-l[e].x)/10,l[e].y+=(h-l[e].y)/10,s.arc(l[e].x,l[e].y,1,0,2*Math.PI),s.closePath(),s.fill(),l[e].o-=c.o,l[e].o<=0&&(l[e].h=2*Math.random()*Math.PI,l[e].x=a+100*(Math.random()-.5)*Math.cos(l[e].h),l[e].y=h+100*(Math.random()-.5)*Math.sin(l[e].h),l[e].o=1);else if(8==M)for(s.clearRect(0,0,n,o),s.fillStyle=m,a%4==0?a+=1:a%4==2?--a:a%4==3&&(a-=2),h%4==0?h+=1:h%4==2?--h:h%4==3&&(h-=2),e=a-60;e<a+60;e+=4)for(var i=h-60;i<h+60;i+=4)Math.sqrt(Math.pow(a-e,2)+Math.pow(h-i,2))<=60&&(s.globalAlpha=1-Math.sqrt(Math.pow(a-e,2)+Math.pow(h-i,2))/60,Math.random()<.2&&s.fillRect(e,i,3,3));else if(9==M)for(s.clearRect(0,0,n,o),s.fillStyle=m,a%4==0?a+=1:a%4==2?--a:a%4==3&&(a-=2),h%4==0?h+=1:h%4==2?--h:h%4==3&&(h-=2),l.length<c.n&&l.push({x:a,y:h,xv:0,yv:0,o:1}),e=0;e<l.length;e++)0==l[e].xv&&0==l[e].yv?Math.random()<.5?Math.random()<.5?l[e].xv=3:l[e].xv=-3:Math.random()<.5?l[e].yv=3:l[e].yv=-3:0==l[e].xv?Math.random()<.66&&(l[e].yv=0,Math.random()<.5?l[e].xv=3:l[e].xv=-3):0==l[e].yv&&Math.random()<.66&&(l[e].xv=0,Math.random()<.5?l[e].yv=3:l[e].yv=-3),l[e].o-=c.o/2,s.globalAlpha=l[e].o,l[e].x+=l[e].xv,l[e].y+=l[e].yv,s.fillRect(l[e].x,l[e].y,3,3),l[e].o<=0&&(l.splice(e,1),e--);else if(10==M)for(s.clearRect(0,0,n,o),s.fillStyle=m,l.push({x:a,y:h,xv:2,yv:1,o:1}),e=0;e<l.length;e++)l[e].o-=c.o/10,s.globalAlpha=l[e].o,l[e].x+=4*(Math.random()-.5),--l[e].y,s.fillRect(l[e].x,l[e].y,2,2),l[e].o<=0&&(l.splice(e,1),e--);window.requestAnimationFrame(t)}()}},{key:"mouseType2",value:function(){var t,o,a,h=window.innerWidth,s=window.innerHeight,i=70,r=1,l=1,c=1.5,n=25,d=.5*h,f=.5*s,u=!1;function e(t){d=t.clientX-.5*(window.innerWidth-h),f=t.clientY-.5*(window.innerHeight-s)}function y(t){u=!0}function w(t){u=!1}function p(t){1==t.touches.length&&(t.preventDefault(),d=t.touches[0].pageX-.5*(window.innerWidth-h),f=t.touches[0].pageY-.5*(window.innerHeight-s))}function v(t){1==t.touches.length&&(t.preventDefault(),d=t.touches[0].pageX-.5*(window.innerWidth-h),f=t.touches[0].pageY-.5*(window.innerHeight-s))}function m(){h=window.innerWidth,s=window.innerHeight,t.width=h,t.height=s}function x(){u?r+=.02*(c-r):r-=.02*(r-l),r=Math.min(r,c),o.clearRect(0,0,o.canvas.width,o.canvas.height);for(var t=0,e=a.length;t<e;t++){var i=a[t],n={x:i.position.x,y:i.position.y};i.offset.x+=i.speed,i.offset.y+=i.speed,i.shift.x+=(d-i.shift.x)*i.speed,i.shift.y+=(f-i.shift.y)*i.speed,i.position.x=i.shift.x+Math.cos(t+i.offset.x)*(i.orbit*r),i.position.y=i.shift.y+Math.sin(t+i.offset.y)*(i.orbit*r),i.position.x=Math.max(Math.min(i.position.x,h),0),i.position.y=Math.max(Math.min(i.position.y,s),0),i.size+=.01*(i.targetSize-i.size),Math.round(i.size)==Math.round(i.targetSize)&&(i.targetSize=1+2*Math.random()),o.beginPath(),o.fillStyle=i.fillColor,o.strokeStyle=i.fillColor,o.lineWidth=i.size,o.moveTo(n.x,n.y),o.lineTo(i.position.x,i.position.y),o.stroke(),o.arc(i.position.x,i.position.y,i.size/2,0,2*Math.PI,!0),o.fill()}window.requestAnimationFrame(x)}(t=document.getElementById("shuicheCanvas"))&&t.getContext&&(o=t.getContext("2d"),window.addEventListener("mousemove",e,!1),window.addEventListener("mousedown",y,!1),window.addEventListener("mouseup",w,!1),document.addEventListener("touchstart",p,!1),document.addEventListener("touchmove",v,!1),window.addEventListener("resize",m,!1),function(){a=[];for(var t=0;t<n;t++){var e={size:1,position:{x:d,y:f},offset:{x:0,y:0},shift:{x:d,y:f},speed:.01+.04*Math.random(),targetSize:1,fillColor:"#"+(9453632*Math.random()+11184810|0).toString(16),orbit:.5*i+.5*i*Math.random()};a.push(e)}}(),m(),x())}},{key:"mouseType3",value:function(){var t=P("<div id='shuicheDiv' style='position: fixed;width: 100%;height: "+P(window).height()+"px; left: 0px; top: 0px; z-index: 2147483647;pointer-events:none;'></div>");P("body").append(t),new(function(){function i(t){return document.getElementById(t)}function t(t,e){this.config=e||{},this.obj=i(t),n=this.config.speed||4,o=this.config.animR||1,a={x:.5*i(t).offsetWidth,y:.5*i(t).offsetHeight},this.setXY(),this.start()}var n,o,a,r=[],l=0;t.prototype={setXY:function(){var t,e;this.obj,t="mousemove",e=function(t){t=t||window.event,a.x=t.clientX,a.y=t.clientY},window.addEventListener?window.addEventListener(t,e,!1):window.attachEvent("on"+t,function(){e.call(window)})},start:function(){Math.PI;var t,e,i=this.config.fn;r[l++]=t=new c(null,0,0);for(var n=0;n<360;n+=20)for(var o=t,a=10;a<35;a+=1){var h=i(n,a).x,s=i(n,a).y;r[l++]=e=new c(o,h,s),o=e}setInterval(function(){for(var t=0;t<l;t++)r[t].run()},16)}};var c=function(t,e,i){var n=document.createElement("span");this.css=n.style,this.css.backgroundColor="#2D8CF0",this.css.width="2px",this.css.height="2px",this.css.position="absolute",this.css.left="-1000px",this.css.zIndex=1e3-l,document.getElementById("shuicheDiv").appendChild(n),this.ddx=0,this.ddy=0,this.PX=0,this.PY=0,this.x=0,this.y=0,this.x0=0,this.y0=0,this.cx=e,this.cy=i,this.parent=t};return c.prototype.run=function(){this.parent?(this.x0=this.parent.x,this.y0=this.parent.y):(this.x0=a.x,this.y0=a.y),this.x=this.PX+=(this.ddx+=(this.x0-this.PX-this.ddx+this.cx)/o)/n,this.y=this.PY+=(this.ddy+=(this.y0-this.PY-this.ddy+this.cy)/o)/n,this.css.left=Math.round(this.x)+"px",this.css.top=Math.round(this.y)+"px"},t}())("shuicheDiv",{speed:4,animR:2,fn:function(t,e){return{x:e/4*Math.cos(t),y:e/4*Math.sin(t)}}})}},{key:"cnblogs",get:function(){return{canvase:"#shuicheCanvase"}}}]),t);function t(){_classCallCheck(this,t),this.defaluts={type:1,color:!1},this.version="0.0.1"}}(jQuery);</script>
    <script type="text/javascript">
        $.shuicheMouse({
            type:11,
            color:"rgba(187,67,128,1)"
        })
    </script>
    <script>(function fairyDustCursor(){var possibleColors=["#D61C59","#E7D84B","#1B8798"];var width=window.innerWidth;var height=window.innerHeight;var cursor={x:width/2,y:width/2};var particles=[];function init(){bindEvents();loop()}function bindEvents(){document.addEventListener("mousemove",onMouseMove);window.addEventListener("resize",onWindowResize)}function onWindowResize(e){width=window.innerWidth;height=window.innerHeight}function onMouseMove(e){cursor.x=e.clientX;cursor.y=e.clientY;addParticle(cursor.x,cursor.y,possibleColors[Math.floor(Math.random()*possibleColors.length)])}function addParticle(x,y,color){var particle=new Particle();particle.init(x,y,color);particles.push(particle)}function updateParticles(){for(var i=0;i<particles.length;i++){particles[i].update()}for(var i=particles.length-1;i>=0;i--){if(particles[i].lifeSpan<0){particles[i].die();particles.splice(i,1)}}}function loop(){requestAnimationFrame(loop);updateParticles()}function Particle(){this.character="*";this.lifeSpan=60;this.initialStyles={"position":"fixed","display":"inline-block","top":"0px","left":"0px","pointerEvents":"none","touch-action":"none","z-index":"10000000","fontSize":"25px","will-change":"transform"};this.init=function(x,y,color){this.velocity={x:(Math.random()<0.5?-1:1)*(Math.random()/2),y:1};this.position={x:x+10,y:y+10};this.initialStyles.color=color;this.element=document.createElement("span");this.element.innerHTML=this.character;applyProperties(this.element,this.initialStyles);this.update();document.querySelector(".js-cursor-container").appendChild(this.element)};this.update=function(){this.position.x+=this.velocity.x;this.position.y+=this.velocity.y;this.lifeSpan--;this.element.style.transform="translate3d("+this.position.x+"px,"+this.position.y+"px, 0) scale("+(this.lifeSpan/120)+")"};this.die=function(){this.element.parentNode.removeChild(this.element)}}function applyProperties(target,properties){for(var key in properties){target.style[key]=properties[key]}}if(!("ontouchstart" in window||navigator.msMaxTouchPoints)){init()}})();</script>
    <span class="js-cursor-container"><span style="position: fixed; display: inline-block; top: 0px; left: 0px; pointer-events: none; touch-action: none; z-index: 10000000; font-size: 25px; will-change: transform; color: rgb(231, 216, 75); transform: translate3d(817.561px, 52px, 0px) scale(0.258333);">*</span><span style="position: fixed; display: inline-block; top: 0px; left: 0px; pointer-events: none; touch-action: none; z-index: 10000000; font-size: 25px; will-change: transform; color: rgb(27, 135, 152); transform: translate3d(792.832px, 84px, 0px) scale(0.266667);">*</span><span style="position: fixed; display: inline-block; top: 0px; left: 0px; pointer-events: none; touch-action: none; z-index: 10000000; font-size: 25px; will-change: transform; color: rgb(214, 28, 89); transform: translate3d(790.098px, 94px, 0px) scale(0.275);">*</span><span style="position: fixed; display: inline-block; top: 0px; left: 0px; pointer-events: none; touch-action: none; z-index: 10000000; font-size: 25px; will-change: transform; color: rgb(231, 216, 75); transform: translate3d(756.963px, 102px, 0px) scale(0.283333);">*</span><span style="position: fixed; display: inline-block; top: 0px; left: 0px; pointer-events: none; touch-action: none; z-index: 10000000; font-size: 25px; will-change: transform; color: rgb(27, 135, 152); transform: translate3d(735.996px, 108px, 0px) scale(0.291667);">*</span><span style="position: fixed; display: inline-block; top: 0px; left: 0px; pointer-events: none; touch-action: none; z-index: 10000000; font-size: 25px; will-change: transform; color: rgb(214, 28, 89); transform: translate3d(715.885px, 108px, 0px) scale(0.3);">*</span><span style="position: fixed; display: inline-block; top: 0px; left: 0px; pointer-events: none; touch-action: none; z-index: 10000000; font-size: 25px; will-change: transform; color: rgb(214, 28, 89); transform: translate3d(712.313px, 104px, 0px) scale(0.333333);">*</span><span style="position: fixed; display: inline-block; top: 0px; left: 0px; pointer-events: none; touch-action: none; z-index: 10000000; font-size: 25px; will-change: transform; color: rgb(214, 28, 89); transform: translate3d(720.636px, 103px, 0px) scale(0.341667);">*</span><span style="position: fixed; display: inline-block; top: 0px; left: 0px; pointer-events: none; touch-action: none; z-index: 10000000; font-size: 25px; will-change: transform; color: rgb(214, 28, 89); transform: translate3d(718.307px, 94px, 0px) scale(0.35);">*</span><span style="position: fixed; display: inline-block; top: 0px; left: 0px; pointer-events: none; touch-action: none; z-index: 10000000; font-size: 25px; will-change: transform; color: rgb(27, 135, 152); transform: translate3d(722.678px, 78px, 0px) scale(0.358333);">*</span><span style="position: fixed; display: inline-block; top: 0px; left: 0px; pointer-events: none; touch-action: none; z-index: 10000000; font-size: 25px; will-change: transform; color: rgb(231, 216, 75); transform: translate3d(718.539px, 41px, 0px) scale(0.366667);">*</span></span>
    <!-- 鼠标移动特效end -->


    <!-- 樱花特效begin -->
    <script>var stop, staticx; var img = new Image(); img.src = ""; function Sakura(x, y, s, r, fn) { this.x = x; this.y = y; this.s = s; this.r = r; this.fn = fn; }
    Sakura.prototype.draw = function (cxt) {
        cxt.save(); var xc = 40 * this.s / 4; cxt.translate(this.x, this.y); cxt.rotate(this.r); cxt.drawImage(img, 0, 0, 40 * this.s, 40 * this.s)
        cxt.restore();
    }
    Sakura.prototype.update = function () { this.x = this.fn.x(this.x, this.y); this.y = this.fn.y(this.y, this.y); this.r = this.fn.r(this.r); if (this.x > window.innerWidth || this.x < 0 || this.y > window.innerHeight || this.y < 0) { this.r = getRandom('fnr'); if (Math.random() > 0.4) { this.x = getRandom('x'); this.y = 0; this.s = getRandom('s'); this.r = getRandom('r'); } else { this.x = window.innerWidth; this.y = getRandom('y'); this.s = getRandom('s'); this.r = getRandom('r'); } } }
    SakuraList = function () { this.list = []; }
    SakuraList.prototype.push = function (sakura) { this.list.push(sakura); }
    SakuraList.prototype.update = function () { for (var i = 0, len = this.list.length; i < len; i++) { this.list[i].update(); } }
    SakuraList.prototype.draw = function (cxt) { for (var i = 0, len = this.list.length; i < len; i++) { this.list[i].draw(cxt); } }
    SakuraList.prototype.get = function (i) { return this.list[i]; }
    SakuraList.prototype.size = function () { return this.list.length; }
    function getRandom(option) {
        var ret, random; switch (option) {
            case 'x': ret = Math.random() * window.innerWidth; break; case 'y': ret = Math.random() * window.innerHeight; break; case 's': ret = Math.random(); break; case 'r': ret = Math.random() * 6; break; case 'fnx': random = -0.5 + Math.random() * 1; ret = function (x, y) { return x + 0.5 * random - 1.7; }; break; case 'fny': random = 1.5 + Math.random() * 0.7
                ret = function (x, y) { return y + random; }; break; case 'fnr': random = Math.random() * 0.03; ret = function (r) { return r + random; }; break;
        }
        return ret;
    }
    function startSakura() {
        requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame || window.oRequestAnimationFrame; var canvas = document.createElement('canvas'), cxt; staticx = true; canvas.height = window.innerHeight; canvas.width = window.innerWidth; canvas.setAttribute('style', 'position: fixed;left: 0;top: 0;pointer-events: none;'); canvas.setAttribute('id', 'canvas_sakura'); document.getElementsByTagName('body')[0].appendChild(canvas); cxt = canvas.getContext('2d'); var sakuraList = new SakuraList(); for (var i = 0; i < 50; i++) { var sakura, randomX, randomY, randomS, randomR, randomFnx, randomFny; randomX = getRandom('x'); randomY = getRandom('y'); randomR = getRandom('r'); randomS = getRandom('s'); randomFnx = getRandom('fnx'); randomFny = getRandom('fny'); randomFnR = getRandom('fnr'); sakura = new Sakura(randomX, randomY, randomS, randomR, { x: randomFnx, y: randomFny, r: randomFnR }); sakura.draw(cxt); sakuraList.push(sakura); }
        stop = requestAnimationFrame(function () { cxt.clearRect(0, 0, canvas.width, canvas.height); sakuraList.update(); sakuraList.draw(cxt); stop = requestAnimationFrame(arguments.callee); })
    }
    window.onresize = function () { var canvasSnow = document.getElementById('canvas_snow'); }
    img.onload = function () { startSakura(); }
    function stopp() { if (staticx) { var child = document.getElementById("canvas_sakura"); child.parentNode.removeChild(child); window.cancelAnimationFrame(stop); staticx = false; } else { startSakura(); } }</script>
    <!-- 樱花特效end -->

    <!-- 样式二（飘动的彩带） -->
    <script type="text/javascript">(function(name, factory) {
        if (typeof window === "object") {
            window[name] = factory()
        }
    })("Ribbons", function() {
        var _w = window,
            _b = document.body,
            _d = document.documentElement;
        var random = function() {
            if (arguments.length === 1) {
                if (Array.isArray(arguments[0])) {
                    var index = Math.round(random(0, arguments[0].length - 1));
                    return arguments[0][index]
                }
                return random(0, arguments[0])
            } else if (arguments.length === 2) {
                return Math.random() * (arguments[1] - arguments[0]) + arguments[0]
            }
            return 0
        };
        var screenInfo = function(e) {
            var width = Math.max(0, _w.innerWidth || _d.clientWidth || _b.clientWidth || 0),
                height = Math.max(0, _w.innerHeight || _d.clientHeight || _b.clientHeight || 0),
                scrollx = Math.max(0, _w.pageXOffset || _d.scrollLeft || _b.scrollLeft || 0) - (_d.clientLeft || 0),
                scrolly = Math.max(0, _w.pageYOffset || _d.scrollTop || _b.scrollTop || 0) - (_d.clientTop || 0);
            return {
                width: width,
                height: height,
                ratio: width / height,
                centerx: width / 2,
                centery: height / 2,
                scrollx: scrollx,
                scrolly: scrolly
            }
        };
        var mouseInfo = function(e) {
            var screen = screenInfo(e),
                mousex = e ? Math.max(0, e.pageX || e.clientX || 0) : 0,
                mousey = e ? Math.max(0, e.pageY || e.clientY || 0) : 0;
            return {
                mousex: mousex,
                mousey: mousey,
                centerx: mousex - screen.width / 2,
                centery: mousey - screen.height / 2
            }
        };
        var Point = function(x, y) {
            this.x = 0;
            this.y = 0;
            this.set(x, y)
        };
        Point.prototype = {
            constructor: Point,
            set: function(x, y) {
                this.x = x || 0;
                this.y = y || 0
            },
            copy: function(point) {
                this.x = point.x || 0;
                this.y = point.y || 0;
                return this
            },
            multiply: function(x, y) {
                this.x *= x || 1;
                this.y *= y || 1;
                return this
            },
            divide: function(x, y) {
                this.x /= x || 1;
                this.y /= y || 1;
                return this
            },
            add: function(x, y) {
                this.x += x || 0;
                this.y += y || 0;
                return this
            },
            subtract: function(x, y) {
                this.x -= x || 0;
                this.y -= y || 0;
                return this
            },
            clampX: function(min, max) {
                this.x = Math.max(min, Math.min(this.x, max));
                return this
            },
            clampY: function(min, max) {
                this.y = Math.max(min, Math.min(this.y, max));
                return this
            },
            flipX: function() {
                this.x *= -1;
                return this
            },
            flipY: function() {
                this.y *= -1;
                return this
            }
        };
        var Factory = function(options) {
            this._canvas = null;
            this._context = null;
            this._sto = null;
            this._width = 0;
            this._height = 0;
            this._scroll = 0;
            this._ribbons = [];
            this._options = {
                colorSaturation: "80%",
                colorBrightness: "60%",
                colorAlpha: 0.65,
                colorCycleSpeed: 6,
                verticalPosition: "center",
                horizontalSpeed: 150,
                ribbonCount: 5,
                strokeSize: 5,
                parallaxAmount: -0.5,
                animateSections: true
            };
            this._onDraw = this._onDraw.bind(this);
            this._onResize = this._onResize.bind(this);
            this._onScroll = this._onScroll.bind(this);
            this.setOptions(options);
            this.init()
        };
        Factory.prototype = {
            constructor: Factory,
            setOptions: function(options) {
                if (typeof options === "object") {
                    for (var key in options) {
                        if (options.hasOwnProperty(key)) {
                            this._options[key] = options[key]
                        }
                    }
                }
            },
            init: function() {
                try {
                    this._canvas = document.createElement("canvas");
                    this._canvas.style["display"] = "block";
                    this._canvas.style["position"] = "fixed";
                    this._canvas.style["margin"] = "0";
                    this._canvas.style["padding"] = "0";
                    this._canvas.style["border"] = "0";
                    this._canvas.style["outline"] = "0";
                    this._canvas.style["left"] = "0";
                    this._canvas.style["top"] = "0";
                    this._canvas.style["width"] = "100%";
                    this._canvas.style["height"] = "100%";
                    this._canvas.style["z-index"] = "-1";
                    this._onResize();
                    this._context = this._canvas.getContext("2d");
                    this._context.clearRect(0, 0, this._width, this._height);
                    this._context.globalAlpha = this._options.colorAlpha;
                    window.addEventListener("resize", this._onResize);
                    window.addEventListener("scroll", this._onScroll);
                    document.body.appendChild(this._canvas)
                } catch (e) {
                    console.warn("Canvas Context Error: " + e.toString());
                    return
                }
                this._onDraw()
            },
            addRibbon: function() {
                var dir = Math.round(random(1, 9)) > 5 ? "right" : "left",
                    stop = 1000,
                    hide = 200,
                    min = 0 - hide,
                    max = this._width + hide,
                    movex = 0,
                    movey = 0,
                    startx = dir === "right" ? min : max,
                    starty = Math.round(random(0, this._height));
                if (/^(top|min)$/i.test(this._options.verticalPosition)) {
                    starty = 0 + hide
                } else if (/^(middle|center)$/i.test(this._options.verticalPosition)) {
                    starty = this._height / 2
                } else if (/^(bottom|max)$/i.test(this._options.verticalPosition)) {
                    starty = this._height - hide
                }
                var ribbon = [],
                    point1 = new Point(startx, starty),
                    point2 = new Point(startx, starty),
                    point3 = null,
                    color = Math.round(random(0, 360)),
                    delay = 0;
                while (true) {
                    if (stop <= 0) break;
                    stop--;
                    movex = Math.round((Math.random() * 1 - 0.2) * this._options.horizontalSpeed);
                    movey = Math.round((Math.random() * 1 - 0.5) * (this._height * 0.25));
                    point3 = new Point();
                    point3.copy(point2);
                    if (dir === "right") {
                        point3.add(movex, movey);
                        if (point2.x >= max) break
                    } else if (dir === "left") {
                        point3.subtract(movex, movey);
                        if (point2.x <= min) break
                    }
                    ribbon.push({
                        point1: new Point(point1.x, point1.y),
                        point2: new Point(point2.x, point2.y),
                        point3: point3,
                        color: color,
                        delay: delay,
                        dir: dir,
                        alpha: 0,
                        phase: 0
                    });
                    point1.copy(point2);
                    point2.copy(point3);
                    delay += 4;
                    color += this._options.colorCycleSpeed
                }
                this._ribbons.push(ribbon)
            },
            _drawRibbonSection: function(section) {
                if (section) {
                    if (section.phase >= 1 && section.alpha <= 0) {
                        return true
                    }
                    if (section.delay <= 0) {
                        section.phase += 0.02;
                        section.alpha = Math.sin(section.phase) * 1;
                        section.alpha = section.alpha <= 0 ? 0 : section.alpha;
                        section.alpha = section.alpha >= 1 ? 1 : section.alpha;
                        if (this._options.animateSections) {
                            var mod = Math.sin(1 + section.phase * Math.PI / 2) * 0.1;
                            if (section.dir === "right") {
                                section.point1.add(mod, 0);
                                section.point2.add(mod, 0);
                                section.point3.add(mod, 0)
                            } else {
                                section.point1.subtract(mod, 0);
                                section.point2.subtract(mod, 0);
                                section.point3.subtract(mod, 0)
                            }
                            section.point1.add(0, mod);
                            section.point2.add(0, mod);
                            section.point3.add(0, mod)
                        }
                    } else {
                        section.delay -= 0.5
                    }
                    var s = this._options.colorSaturation,
                        l = this._options.colorBrightness,
                        c = "hsla(" + section.color + ", " + s + ", " + l + ", " + section.alpha + " )";
                    this._context.save();
                    if (this._options.parallaxAmount !== 0) {
                        this._context.translate(0, this._scroll * this._options.parallaxAmount)
                    }
                    this._context.beginPath();
                    this._context.moveTo(section.point1.x, section.point1.y);
                    this._context.lineTo(section.point2.x, section.point2.y);
                    this._context.lineTo(section.point3.x, section.point3.y);
                    this._context.fillStyle = c;
                    this._context.fill();
                    if (this._options.strokeSize > 0) {
                        this._context.lineWidth = this._options.strokeSize;
                        this._context.strokeStyle = c;
                        this._context.lineCap = "round";
                        this._context.stroke()
                    }
                    this._context.restore()
                }
                return false
            },
            _onDraw: function() {
                for (var i = 0, t = this._ribbons.length; i < t; ++i) {
                    if (!this._ribbons[i]) {
                        this._ribbons.splice(i, 1)
                    }
                }
                this._context.clearRect(0, 0, this._width, this._height);
                for (var a = 0; a < this._ribbons.length; ++a) {
                    var ribbon = this._ribbons[a],
                        numSections = ribbon.length,
                        numDone = 0;
                    for (var b = 0; b < numSections; ++b) {
                        if (this._drawRibbonSection(ribbon[b])) {
                            numDone++
                        }
                    }
                    if (numDone >= numSections) {
                        this._ribbons[a] = null
                    }
                }
                if (this._ribbons.length < this._options.ribbonCount) {
                    this.addRibbon()
                }
                requestAnimationFrame(this._onDraw)
            },
            _onResize: function(e) {
                var screen = screenInfo(e);
                this._width = screen.width;
                this._height = screen.height;
                if (this._canvas) {
                    this._canvas.width = this._width;
                    this._canvas.height = this._height;
                    if (this._context) {
                        this._context.globalAlpha = this._options.colorAlpha
                    }
                }
            },
            _onScroll: function(e) {
                var screen = screenInfo(e);
                this._scroll = screen.scrolly
            }
        };
        return Factory
    });
    new Ribbons({
        colorSaturation: "60%",
        colorBrightness: "50%",
        colorAlpha: 0.5,
        colorCycleSpeed: 5,
        verticalPosition: "random",
        horizontalSpeed: 200,
        ribbonCount: 3,
        strokeSize: 0,
        parallaxAmount: -0.2,
        animateSections: true
    });</script>

    <!-- 搞怪标题 -->
    <script type="text/javascript">
        <!--浏览器搞笑标题-->
        var OriginTitle = document.title;
        var titleTime;
        document.addEventListener('visibilitychange', function () {
            if (document.hidden) {
                $('[rel="icon"]').attr('href', "/img/trhx2.png");
                document.title = 'ヽ(●-`Д´-)ノ你丑你就走！';
                clearTimeout(titleTime);
            }
            else {
                $('[rel="icon"]').attr('href', "/img/trhx2.png");
                document.title = 'ヾ(Ő∀Ő3)ノ你帅就回来！' + OriginTitle;
                titleTime = setTimeout(function () {
                    document.title = OriginTitle;
                }, 2000);
            }
        });</script>

</div>
</body>

</html>